package com.competition.param.impl;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.Pattern;

import com.admin.param.contract.IStaffBySearchParam;
import com.competition.web.constant.ValidateCondtionAndMessage;
import com.param.impl.PageParam;

/**
 * 员工搜索参数
 */
public class StaffBySearchParam extends PageParam implements IStaffBySearchParam {

	/**
	 * 员工名称
	 */
	@Pattern(regexp = ValidateCondtionAndMessage.CHINESE_ENGLISH_NUMBER_UNDERLINE_BY_SERIESDESCRIPTION, message = ValidateCondtionAndMessage.CHINESE_ENGLISH_NUMBER_UNDERLINE_BY_SERIESDESCRIPTION_MSG)
	private String staffName;
	
	@Min(value = ValidateCondtionAndMessage.MIN_STATUS, message = ValidateCondtionAndMessage.MIN_STATUS_MSG)
	@Max(value = 2, message = "状态最大值为2")
	private Byte status;

	@Min(value = ValidateCondtionAndMessage.MIN_STATUS, message = ValidateCondtionAndMessage.MIN_STATUS_MSG)
	@Max(value = ValidateCondtionAndMessage.MAX_STATUS, message = ValidateCondtionAndMessage.MAX_STATUS_MSG)
	private Byte post;
	
	@Min(value = ValidateCondtionAndMessage.MIN_STATUS, message = ValidateCondtionAndMessage.MIN_STATUS_MSG)
	@Max(value = ValidateCondtionAndMessage.MAX_STATUS, message = ValidateCondtionAndMessage.MAX_STATUS_MSG)
	private Byte depart;
	
	@Min(value = ValidateCondtionAndMessage.ZERO, message = ValidateCondtionAndMessage.ZERO_MSG)
	private Integer areaId;
	
	@Min(value = ValidateCondtionAndMessage.ZERO, message = ValidateCondtionAndMessage.ZERO_MSG)
	private Integer cityId;
	
	
	 /**
     * 请假开始时间
     */
	@Min(value = ValidateCondtionAndMessage.ZERO, message = ValidateCondtionAndMessage.ZERO_MSG)
    private Long leaveStart;
    
    /**
     * 请假结束时间
     */
	@Min(value = ValidateCondtionAndMessage.ZERO, message = ValidateCondtionAndMessage.ZERO_MSG)
    private Long leaveEnd;
	
	
	
	public Integer getAreaId() {
		return areaId;
	}

	public void setAreaId(Integer areaId) {
		this.areaId = areaId;
	}

	public Integer getCityId() {
		return cityId;
	}

	public void setCityId(Integer cityId) {
		this.cityId = cityId;
	}

	public Byte getDepart() {
		return depart;
	}

	public void setDepart(Byte depart) {
		this.depart = depart;
	}

	public Byte getStatus() {
		return status;
	}

	public void setStatus(Byte status) {
		this.status = status;
	}

	public Byte getPost() {
		return post;
	}

	public void setPost(Byte post) {
		this.post = post;
	}

	public Long getLeaveStart() {
		return leaveStart;
	}

	public void setLeaveStart(Long leaveStart) {
		this.leaveStart = leaveStart;
	}

	public Long getLeaveEnd() {
		return leaveEnd;
	}

	public void setLeaveEnd(Long leaveEnd) {
		this.leaveEnd = leaveEnd;
	}

	public String getStaffName() {
		return staffName;
	}

	public void setStaffName(String staffName) {
		this.staffName = staffName;
	}
}
